package rodilock;
//Universidad del Valle de Guatemala
//Algoritmos y Base de Datos
//Juan Fernando Moraflores Cifuentes, 12938
//Carlos Sagastume, 12113
//Rodimiro Castañeda, 12122


import java.util.*;
public class Rodilock {

   
    public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       lock sagastume = new lock();
       lock3 sagastume3 = new lock3();
       int rodi;
       int[] enter = new int[4];
       String larry;
       boolean mora = false;
       int sagastumetraitor= 4;
       int traitor =0;
       
       
           System.out.println("Este programa utiliza 2 implementaciones");
           System.out.println("****¿Cual desea implementar?****** [1/2]");
       traitor = scan.nextInt();
       switch(traitor){
           case 1:
       sagastume3.assign();
       
      do{
       System.out.println("************Bienvenido**********\n Opcion 1*****Ingresar clave***\n Opcion 2*****Cambiar clave****\n Opcion 3******Salir***********");
       rodi = scan.nextInt();
       
   
       switch(rodi){
           case 1:
               System.out.println("Ingrese clave\n");
               //sagastume.assign();
               //System.out.println("1");
              // sagastume.assign();
              // System.out.println("2");
               for(int ii=0; ii<sagastume3.getX(); ii++){
               enter[ii]=scan.nextInt();
               sagastume3.setPass(enter);
               }
               //System.out.println("3");
               sagastume3.Press();
               System.out.println("Si quiere cerrar el candado introduzca una clave invalida");
               break;
               
           case 2:
               System.out.println("¿Está seguro que quiere cambiar de clave?:::[Y/N]"); 
              larry=scan.next();
              // System.out.println("joder"+larry);
              if(larry.equals("y") || (larry.equals("Y"))){
                  System.out.println("Ingrese la clave default");
                  //sagastume.assign();
                // System.out.println("joder");
                  for(int ii=0; ii<sagastumetraitor; ii++){
               enter[ii]=scan.nextInt();
               sagastume3.setPass(enter);
               
               }  
                  sagastume3.Press();
                  mora=sagastume3.isOpen();
                  if (mora == true){
                  System.out.println("¡Ahora puede cambiar la clave!");
                  System.out.println("Ingrese el numero de digitos que ud quiere que tenga el candado");
                  sagastumetraitor = scan.nextInt();
                  sagastume3.setX(sagastumetraitor);
                  System.out.println("Ingrese la nueva clave");
                   for(int ii=0; ii<sagastume3.getX(); ii++){
               enter[ii]=scan.nextInt();
               sagastume3.setPass(enter);
                  
                  sagastume3.Reset();
                  
                  
                   }   
              }else if(mora ==false){
                      System.out.println("Jodase");
              }else{              
                  System.out.println("Va ps no");
              
              }}
               break;
           case 3:
               System.exit(0);
               
           break;
      } } while(rodi!=3);
      
       break;
       case 2:
      
       sagastume.assign();
       
         
      do{
       System.out.println("************Bienvenido**********\n Opcion 1*****Ingresar clave***\n Opcion 2*****Cambiar clave****\n Opcion 3******Salir***********");
       rodi = scan.nextInt();
       
   
       switch(rodi){
           case 1:
               System.out.println("Ingrese clave\n");
               //sagastume.assign();
               //System.out.println("1");
              // sagastume.assign();
              // System.out.println("2");
               for(int ii=0; ii<4; ii++){
               enter[ii]=scan.nextInt();
               sagastume.setPass(enter);
               }
               //System.out.println("3");
               sagastume.Press();
               System.out.println("Si quiere cerrar el candado introduzca una clave invalida");
               break;
               
           case 2:
               System.out.println("¿Está seguro que quiere cambiar de clave?:::[Y/N]"); 
              larry=scan.next();
              // System.out.println("joder"+larry);
              if(larry.equals("y") || (larry.equals("Y"))){
                  System.out.println("Ingrese la clave default");
                  //sagastume.assign();
                // System.out.println("joder");
                  for(int ii=0; ii<4; ii++){
               enter[ii]=scan.nextInt();
               sagastume.setPass(enter);
               
               }  
                  sagastume.Press();
                  mora=sagastume.isOpen();
                  if (mora == true){
                  System.out.println("¡Ahora puede cambiar la clave!");
                //  System.out.println("Ingrese el numero de digitos que ud quiere que tenga el candado");
                //  sagastumetraitor = scan.nextInt();
               //   sagastume.setX(sagastumetraitor);
                  System.out.println("Ingrese la nueva clave");
                   for(int ii=0; ii<4; ii++){
               enter[ii]=scan.nextInt();
               sagastume.setPass(enter);
                  
                  sagastume.Reset();
                  
                  
                   }   
              }else if(mora ==false){
                      System.out.println("Jodase");
              }else{              
                  System.out.println("Va ps no");
              
              }}
               break;
           case 3:
               System.exit(0);
               
           break;
      } } while(rodi!=3);
      
       
       
       break;
       }}
      
  
    
               }


